wayland: Set screen size to bounding box of all outputs
authorKristian Høgsberg <krh@bitplanet.net>
Tue, 26 Mar 2013 21:23:31 +0000 (17:23 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 26 Mar 2013 21:32:15 +0000 (17:32 -0400)
Don't hardcode 8192x8192.  We don't get this info from wayland, so we
compute it as we receive information about the available wl_outputs.

https://bugzilla.gnome.org/show_bug.cgi?id=692871

gdk/wayland/gdkscreen-wayland.c

index be1a0f541726d013b84ac4a8c4f127458c676fe7..5d1768882a274e167fa9540edf64424e7d75b2e7 100644 (file)
@@ -789,8 +789,8 @@ _gdk_wayland_screen_new (GdkDisplay *display)
 
   screen_wayland = GDK_WAYLAND_SCREEN (screen);
   screen_wayland->display = display;
-  screen_wayland->width = 8192;
-  screen_wayland->height = 8192;
+  screen_wayland->width = 0;
+  screen_wayland->height = 0;
 
   screen_wayland->visual = gdk_wayland_visual_new (screen);
 
@@ -891,6 +891,11 @@ output_handle_mode(void *data,
 
   monitor->geometry.width = width;
   monitor->geometry.height = height;
+
+  monitor->screen->width =
+    MAX (monitor->screen->width, monitor->geometry.x + width);
+  monitor->screen->height =
+    MAX (monitor->screen->height, monitor->geometry.y + height);
 }
 
 static const struct wl_output_listener output_listener =